Skip to main content

Table of Contents

TODO

DyanmoDB

Dynamo DB is a serverless NoSQL Database for AWS, and is their defacto NoSQL solution

We use partition keys / primary keys to help it scale out and shard data, similar to what we showed in our Distributed KV Store

Each value in this key-value database it simply an Item, where the Item is usually a JSON object, and each Item can have many Attributes

Dyanmo is mentioned to be able to handle OLTP transaction workloads, which means it can handle a lot of small transactions, and is not meant for OLAP workloads, which are usually large batch jobs

The whitepaper is a bit dated, but it is still relevant, and the concepts are still used in DynamoDB

Infrastructure

Dynamo is serverless! So no OS patching, DB upgrades, rolling upgrades, scaling, sharding, or anything

Data is stored in SSD's, and across AZ's, so it's durable, replicated, and available

Data Models / Concepts

Dynamo Concepts

  • Tables: Tables are collections of data, or items (similar to Tables)
  • Items: Items are a logical grouping of Attributes that are uniquely identifiable (similar to Rows)
  • Attributes: Attribues are valued Elements (similar to Elements)